/*
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
 * All portions are Copyright (C) 2008-2014 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************
*/
package com.mes.data;

import com.mes.manufacture.data.EmesoDataCollectionResult;
import com.mes.manufacture.data.EmesoJobOrderExe;
import com.mes.manufacture.data.EmesoJobUserAssign;
import com.mes.manufacture.data.EmesoManuHandover;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.openbravo.base.structure.ActiveEnabled;
import org.openbravo.base.structure.BaseOBObject;
import org.openbravo.base.structure.ClientEnabled;
import org.openbravo.base.structure.OrganizationEnabled;
import org.openbravo.base.structure.Traceable;
import org.openbravo.model.ad.access.User;
import org.openbravo.model.ad.system.Client;
import org.openbravo.model.common.enterprise.Organization;
/**
 * Entity class for entity Emes_Group (stored in table Emes_Group).
 *
 * NOTE: This class should not be instantiated directly. To instantiate this
 * class the {@link org.openbravo.base.provider.OBProvider} should be used.
 */
public class EmesGroup extends BaseOBObject implements Traceable, ClientEnabled, OrganizationEnabled, ActiveEnabled {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "Emes_Group";
    public static final String ENTITY_NAME = "Emes_Group";
    public static final String PROPERTY_ID = "id";
    public static final String PROPERTY_NAME = "name";
    public static final String PROPERTY_DESCRIPTION = "description";
    public static final String PROPERTY_CLIENT = "client";
    public static final String PROPERTY_ORGANIZATION = "organization";
    public static final String PROPERTY_ACTIVE = "active";
    public static final String PROPERTY_CREATIONDATE = "creationDate";
    public static final String PROPERTY_CREATEDBY = "createdBy";
    public static final String PROPERTY_UPDATED = "updated";
    public static final String PROPERTY_UPDATEDBY = "updatedBy";
    public static final String PROPERTY_GROUPBUTTON = "groupButton";
    public static final String PROPERTY_CODE = "code";
    public static final String PROPERTY_SHIFT = "shift";
    public static final String PROPERTY_EMESGROUPRULE = "emesGroupRule";
    public static final String PROPERTY_EMESSHOPCALENDAR = "emesShopCalendar";
    public static final String PROPERTY_SCHEDULEDETAILBUTTON = "scheduleDetailButton";
    public static final String PROPERTY_SCHEDULEIMPORTBUTTON = "scheduleImportButton";
    public static final String PROPERTY_SCHEDULEMODELBUTTON = "scheduleModelButton";
    public static final String PROPERTY_EMESEMPLOYEELIST = "emesEmployeeList";
    public static final String PROPERTY_EMESGROUPSCHEDULELIST = "emesGroupScheduleList";
    public static final String PROPERTY_EMESGROUPSTAFFLIST = "emesGroupStaffList";
    public static final String PROPERTY_EMESUSERPOSTIONLIST = "emesUserPostionList";
    public static final String PROPERTY_EMESODCRESULTLIST = "emesoDCResultList";
    public static final String PROPERTY_EMESOJOBORDEREXELIST = "emesoJobOrderExeList";
    public static final String PROPERTY_EMESOJOBUSERASSIGNLIST = "emesoJobUserAssignList";
    public static final String PROPERTY_EMESOMANUHANDOVERLIST = "emesoManuHandoverList";

    public EmesGroup() {
        setDefaultValue(PROPERTY_ACTIVE, true);
        setDefaultValue(PROPERTY_GROUPBUTTON, false);
        setDefaultValue(PROPERTY_SCHEDULEDETAILBUTTON, false);
        setDefaultValue(PROPERTY_SCHEDULEIMPORTBUTTON, false);
        setDefaultValue(PROPERTY_SCHEDULEMODELBUTTON, false);
        setDefaultValue(PROPERTY_EMESEMPLOYEELIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESGROUPSCHEDULELIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESGROUPSTAFFLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESUSERPOSTIONLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESODCRESULTLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESOJOBORDEREXELIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESOJOBUSERASSIGNLIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESOMANUHANDOVERLIST, new ArrayList<Object>());
    }

    @Override
    public String getEntityName() {
        return ENTITY_NAME;
    }

    public String getId() {
        return (String) get(PROPERTY_ID);
    }

    public void setId(String id) {
        set(PROPERTY_ID, id);
    }

    public String getName() {
        return (String) get(PROPERTY_NAME);
    }

    public void setName(String name) {
        set(PROPERTY_NAME, name);
    }

    public String getDescription() {
        return (String) get(PROPERTY_DESCRIPTION);
    }

    public void setDescription(String description) {
        set(PROPERTY_DESCRIPTION, description);
    }

    public Client getClient() {
        return (Client) get(PROPERTY_CLIENT);
    }

    public void setClient(Client client) {
        set(PROPERTY_CLIENT, client);
    }

    public Organization getOrganization() {
        return (Organization) get(PROPERTY_ORGANIZATION);
    }

    public void setOrganization(Organization organization) {
        set(PROPERTY_ORGANIZATION, organization);
    }

    public Boolean isActive() {
        return (Boolean) get(PROPERTY_ACTIVE);
    }

    public void setActive(Boolean active) {
        set(PROPERTY_ACTIVE, active);
    }

    public Date getCreationDate() {
        return (Date) get(PROPERTY_CREATIONDATE);
    }

    public void setCreationDate(Date creationDate) {
        set(PROPERTY_CREATIONDATE, creationDate);
    }

    public User getCreatedBy() {
        return (User) get(PROPERTY_CREATEDBY);
    }

    public void setCreatedBy(User createdBy) {
        set(PROPERTY_CREATEDBY, createdBy);
    }

    public Date getUpdated() {
        return (Date) get(PROPERTY_UPDATED);
    }

    public void setUpdated(Date updated) {
        set(PROPERTY_UPDATED, updated);
    }

    public User getUpdatedBy() {
        return (User) get(PROPERTY_UPDATEDBY);
    }

    public void setUpdatedBy(User updatedBy) {
        set(PROPERTY_UPDATEDBY, updatedBy);
    }

    public Boolean isGroupButton() {
        return (Boolean) get(PROPERTY_GROUPBUTTON);
    }

    public void setGroupButton(Boolean groupButton) {
        set(PROPERTY_GROUPBUTTON, groupButton);
    }

    public String getCode() {
        return (String) get(PROPERTY_CODE);
    }

    public void setCode(String code) {
        set(PROPERTY_CODE, code);
    }

    public String getShift() {
        return (String) get(PROPERTY_SHIFT);
    }

    public void setShift(String shift) {
        set(PROPERTY_SHIFT, shift);
    }

    public EmesGroupRule getEmesGroupRule() {
        return (EmesGroupRule) get(PROPERTY_EMESGROUPRULE);
    }

    public void setEmesGroupRule(EmesGroupRule emesGroupRule) {
        set(PROPERTY_EMESGROUPRULE, emesGroupRule);
    }

    public EmesShopCalendar getEmesShopCalendar() {
        return (EmesShopCalendar) get(PROPERTY_EMESSHOPCALENDAR);
    }

    public void setEmesShopCalendar(EmesShopCalendar emesShopCalendar) {
        set(PROPERTY_EMESSHOPCALENDAR, emesShopCalendar);
    }

    public Boolean isScheduleDetailButton() {
        return (Boolean) get(PROPERTY_SCHEDULEDETAILBUTTON);
    }

    public void setScheduleDetailButton(Boolean scheduleDetailButton) {
        set(PROPERTY_SCHEDULEDETAILBUTTON, scheduleDetailButton);
    }

    public Boolean isScheduleImportButton() {
        return (Boolean) get(PROPERTY_SCHEDULEIMPORTBUTTON);
    }

    public void setScheduleImportButton(Boolean scheduleImportButton) {
        set(PROPERTY_SCHEDULEIMPORTBUTTON, scheduleImportButton);
    }

    public Boolean isScheduleModelButton() {
        return (Boolean) get(PROPERTY_SCHEDULEMODELBUTTON);
    }

    public void setScheduleModelButton(Boolean scheduleModelButton) {
        set(PROPERTY_SCHEDULEMODELBUTTON, scheduleModelButton);
    }

    @SuppressWarnings("unchecked")
    public List<EmesEmployee> getEmesEmployeeList() {
      return (List<EmesEmployee>) get(PROPERTY_EMESEMPLOYEELIST);
    }

    public void setEmesEmployeeList(List<EmesEmployee> emesEmployeeList) {
        set(PROPERTY_EMESEMPLOYEELIST, emesEmployeeList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesGroupSchedule> getEmesGroupScheduleList() {
      return (List<EmesGroupSchedule>) get(PROPERTY_EMESGROUPSCHEDULELIST);
    }

    public void setEmesGroupScheduleList(List<EmesGroupSchedule> emesGroupScheduleList) {
        set(PROPERTY_EMESGROUPSCHEDULELIST, emesGroupScheduleList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesGroupStaff> getEmesGroupStaffList() {
      return (List<EmesGroupStaff>) get(PROPERTY_EMESGROUPSTAFFLIST);
    }

    public void setEmesGroupStaffList(List<EmesGroupStaff> emesGroupStaffList) {
        set(PROPERTY_EMESGROUPSTAFFLIST, emesGroupStaffList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesUserPostion> getEmesUserPostionList() {
      return (List<EmesUserPostion>) get(PROPERTY_EMESUSERPOSTIONLIST);
    }

    public void setEmesUserPostionList(List<EmesUserPostion> emesUserPostionList) {
        set(PROPERTY_EMESUSERPOSTIONLIST, emesUserPostionList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesoDataCollectionResult> getEmesoDCResultList() {
      return (List<EmesoDataCollectionResult>) get(PROPERTY_EMESODCRESULTLIST);
    }

    public void setEmesoDCResultList(List<EmesoDataCollectionResult> emesoDCResultList) {
        set(PROPERTY_EMESODCRESULTLIST, emesoDCResultList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesoJobOrderExe> getEmesoJobOrderExeList() {
      return (List<EmesoJobOrderExe>) get(PROPERTY_EMESOJOBORDEREXELIST);
    }

    public void setEmesoJobOrderExeList(List<EmesoJobOrderExe> emesoJobOrderExeList) {
        set(PROPERTY_EMESOJOBORDEREXELIST, emesoJobOrderExeList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesoJobUserAssign> getEmesoJobUserAssignList() {
      return (List<EmesoJobUserAssign>) get(PROPERTY_EMESOJOBUSERASSIGNLIST);
    }

    public void setEmesoJobUserAssignList(List<EmesoJobUserAssign> emesoJobUserAssignList) {
        set(PROPERTY_EMESOJOBUSERASSIGNLIST, emesoJobUserAssignList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesoManuHandover> getEmesoManuHandoverList() {
      return (List<EmesoManuHandover>) get(PROPERTY_EMESOMANUHANDOVERLIST);
    }

    public void setEmesoManuHandoverList(List<EmesoManuHandover> emesoManuHandoverList) {
        set(PROPERTY_EMESOMANUHANDOVERLIST, emesoManuHandoverList);
    }

}
